(0) Obligation:

Clauses:

p(0, 0).
p(s(X), X).
le(0, Y, true).
le(s(X), 0, false).
le(s(X), s(Y), B) :- le(X, Y, B).
minus(X, Y, Z) :- ','(le(X, Y, B), if(B, X, Y, Z)).
if(true, X, Y, 0).
if(false, X, Y, s(Z)) :- ','(p(X, X1), minus(X1, Y, Z)).

Query: minus(g,a,a)

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph ICLP10.

(2) Obligation:

Clauses:

minusA(T82) :- leB(X148).
minusA(0) :- leB(true).
minusA(s(T87)) :- ','(leB(false), minusA(T87)).
minusC(T52, T54) :- leD(T52, X81).
minusC(T68, 0) :- leD(T68, true).
minusC(0, s(T75)) :- ','(leD(0, false), minusA(T75)).
minusC(s(T94), s(T75)) :- ','(leD(s(T94), false), minusC(T94, T75)).
leE(0, T116, true).
leE(s(T121), 0, false).
leE(s(T126), s(T128), X251) :- leE(T126, T128, X251).
leD(0, true).
leD(s(T60), false).
leB(true).
minusF(0, T25, 0).
minusF(s(T44), 0, s(T38)) :- minusC(T44, T38).
minusF(s(T101), s(T103), T104) :- leE(T101, T103, X225).
minusF(s(T143), s(T144), 0) :- leE(T143, T144, true).
minusF(s(T163), s(T155), s(T154)) :- ','(leE(T163, T155, false), minusF(T163, s(T155), T154)).

Query: minusF(g,a,a)

(3) PrologToPiTRSProof (SOUND transformation)

We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes:
minusF_in: (b,f,f)
minusC_in: (b,f)
minusA_in: (f)
leE_in: (b,f,f) (b,f,b)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

minusF_in_gaa(0, T25, 0) → minusF_out_gaa(0, T25, 0)
minusF_in_gaa(s(T44), 0, s(T38)) → U12_gaa(T44, T38, minusC_in_ga(T44, T38))
minusC_in_ga(T52, T54) → U5_ga(T52, T54, leD_in_ga(T52, X81))
leD_in_ga(0, true) → leD_out_ga(0, true)
leD_in_ga(s(T60), false) → leD_out_ga(s(T60), false)
U5_ga(T52, T54, leD_out_ga(T52, X81)) → minusC_out_ga(T52, T54)
minusC_in_ga(T68, 0) → U6_ga(T68, leD_in_gg(T68, true))
leD_in_gg(0, true) → leD_out_gg(0, true)
leD_in_gg(s(T60), false) → leD_out_gg(s(T60), false)
U6_ga(T68, leD_out_gg(T68, true)) → minusC_out_ga(T68, 0)
minusC_in_ga(0, s(T75)) → U7_ga(T75, leD_in_gg(0, false))
U7_ga(T75, leD_out_gg(0, false)) → U8_ga(T75, minusA_in_a(T75))
minusA_in_a(T82) → U1_a(T82, leB_in_a(X148))
leB_in_a(true) → leB_out_a(true)
U1_a(T82, leB_out_a(X148)) → minusA_out_a(T82)
minusA_in_a(0) → U2_a(leB_in_g(true))
leB_in_g(true) → leB_out_g(true)
U2_a(leB_out_g(true)) → minusA_out_a(0)
minusA_in_a(s(T87)) → U3_a(T87, leB_in_g(false))
U3_a(T87, leB_out_g(false)) → U4_a(T87, minusA_in_a(T87))
U4_a(T87, minusA_out_a(T87)) → minusA_out_a(s(T87))
U8_ga(T75, minusA_out_a(T75)) → minusC_out_ga(0, s(T75))
minusC_in_ga(s(T94), s(T75)) → U9_ga(T94, T75, leD_in_gg(s(T94), false))
U9_ga(T94, T75, leD_out_gg(s(T94), false)) → U10_ga(T94, T75, minusC_in_ga(T94, T75))
U10_ga(T94, T75, minusC_out_ga(T94, T75)) → minusC_out_ga(s(T94), s(T75))
U12_gaa(T44, T38, minusC_out_ga(T44, T38)) → minusF_out_gaa(s(T44), 0, s(T38))
minusF_in_gaa(s(T101), s(T103), T104) → U13_gaa(T101, T103, T104, leE_in_gaa(T101, T103, X225))
leE_in_gaa(0, T116, true) → leE_out_gaa(0, T116, true)
leE_in_gaa(s(T121), 0, false) → leE_out_gaa(s(T121), 0, false)
leE_in_gaa(s(T126), s(T128), X251) → U11_gaa(T126, T128, X251, leE_in_gaa(T126, T128, X251))
U11_gaa(T126, T128, X251, leE_out_gaa(T126, T128, X251)) → leE_out_gaa(s(T126), s(T128), X251)
U13_gaa(T101, T103, T104, leE_out_gaa(T101, T103, X225)) → minusF_out_gaa(s(T101), s(T103), T104)
minusF_in_gaa(s(T143), s(T144), 0) → U14_gaa(T143, T144, leE_in_gag(T143, T144, true))
leE_in_gag(0, T116, true) → leE_out_gag(0, T116, true)
leE_in_gag(s(T121), 0, false) → leE_out_gag(s(T121), 0, false)
leE_in_gag(s(T126), s(T128), X251) → U11_gag(T126, T128, X251, leE_in_gag(T126, T128, X251))
U11_gag(T126, T128, X251, leE_out_gag(T126, T128, X251)) → leE_out_gag(s(T126), s(T128), X251)
U14_gaa(T143, T144, leE_out_gag(T143, T144, true)) → minusF_out_gaa(s(T143), s(T144), 0)
minusF_in_gaa(s(T163), s(T155), s(T154)) → U15_gaa(T163, T155, T154, leE_in_gag(T163, T155, false))
U15_gaa(T163, T155, T154, leE_out_gag(T163, T155, false)) → U16_gaa(T163, T155, T154, minusF_in_gaa(T163, s(T155), T154))
U16_gaa(T163, T155, T154, minusF_out_gaa(T163, s(T155), T154)) → minusF_out_gaa(s(T163), s(T155), s(T154))

The argument filtering Pi contains the following mapping:
minusF_in_gaa(x1, x2, x3)  =  minusF_in_gaa(x1)
0  =  0
minusF_out_gaa(x1, x2, x3)  =  minusF_out_gaa
s(x1)  =  s(x1)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
minusC_in_ga(x1, x2)  =  minusC_in_ga(x1)
U5_ga(x1, x2, x3)  =  U5_ga(x3)
leD_in_ga(x1, x2)  =  leD_in_ga(x1)
leD_out_ga(x1, x2)  =  leD_out_ga(x2)
minusC_out_ga(x1, x2)  =  minusC_out_ga
U6_ga(x1, x2)  =  U6_ga(x2)
leD_in_gg(x1, x2)  =  leD_in_gg(x1, x2)
true  =  true
leD_out_gg(x1, x2)  =  leD_out_gg
false  =  false
U7_ga(x1, x2)  =  U7_ga(x2)
U8_ga(x1, x2)  =  U8_ga(x2)
minusA_in_a(x1)  =  minusA_in_a
U1_a(x1, x2)  =  U1_a(x2)
leB_in_a(x1)  =  leB_in_a
leB_out_a(x1)  =  leB_out_a(x1)
minusA_out_a(x1)  =  minusA_out_a
U2_a(x1)  =  U2_a(x1)
leB_in_g(x1)  =  leB_in_g(x1)
leB_out_g(x1)  =  leB_out_g
U3_a(x1, x2)  =  U3_a(x2)
U4_a(x1, x2)  =  U4_a(x2)
U9_ga(x1, x2, x3)  =  U9_ga(x1, x3)
U10_ga(x1, x2, x3)  =  U10_ga(x3)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
leE_in_gaa(x1, x2, x3)  =  leE_in_gaa(x1)
leE_out_gaa(x1, x2, x3)  =  leE_out_gaa(x3)
U11_gaa(x1, x2, x3, x4)  =  U11_gaa(x4)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
leE_in_gag(x1, x2, x3)  =  leE_in_gag(x1, x3)
leE_out_gag(x1, x2, x3)  =  leE_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

minusF_in_gaa(0, T25, 0) → minusF_out_gaa(0, T25, 0)
minusF_in_gaa(s(T44), 0, s(T38)) → U12_gaa(T44, T38, minusC_in_ga(T44, T38))
minusC_in_ga(T52, T54) → U5_ga(T52, T54, leD_in_ga(T52, X81))
leD_in_ga(0, true) → leD_out_ga(0, true)
leD_in_ga(s(T60), false) → leD_out_ga(s(T60), false)
U5_ga(T52, T54, leD_out_ga(T52, X81)) → minusC_out_ga(T52, T54)
minusC_in_ga(T68, 0) → U6_ga(T68, leD_in_gg(T68, true))
leD_in_gg(0, true) → leD_out_gg(0, true)
leD_in_gg(s(T60), false) → leD_out_gg(s(T60), false)
U6_ga(T68, leD_out_gg(T68, true)) → minusC_out_ga(T68, 0)
minusC_in_ga(0, s(T75)) → U7_ga(T75, leD_in_gg(0, false))
U7_ga(T75, leD_out_gg(0, false)) → U8_ga(T75, minusA_in_a(T75))
minusA_in_a(T82) → U1_a(T82, leB_in_a(X148))
leB_in_a(true) → leB_out_a(true)
U1_a(T82, leB_out_a(X148)) → minusA_out_a(T82)
minusA_in_a(0) → U2_a(leB_in_g(true))
leB_in_g(true) → leB_out_g(true)
U2_a(leB_out_g(true)) → minusA_out_a(0)
minusA_in_a(s(T87)) → U3_a(T87, leB_in_g(false))
U3_a(T87, leB_out_g(false)) → U4_a(T87, minusA_in_a(T87))
U4_a(T87, minusA_out_a(T87)) → minusA_out_a(s(T87))
U8_ga(T75, minusA_out_a(T75)) → minusC_out_ga(0, s(T75))
minusC_in_ga(s(T94), s(T75)) → U9_ga(T94, T75, leD_in_gg(s(T94), false))
U9_ga(T94, T75, leD_out_gg(s(T94), false)) → U10_ga(T94, T75, minusC_in_ga(T94, T75))
U10_ga(T94, T75, minusC_out_ga(T94, T75)) → minusC_out_ga(s(T94), s(T75))
U12_gaa(T44, T38, minusC_out_ga(T44, T38)) → minusF_out_gaa(s(T44), 0, s(T38))
minusF_in_gaa(s(T101), s(T103), T104) → U13_gaa(T101, T103, T104, leE_in_gaa(T101, T103, X225))
leE_in_gaa(0, T116, true) → leE_out_gaa(0, T116, true)
leE_in_gaa(s(T121), 0, false) → leE_out_gaa(s(T121), 0, false)
leE_in_gaa(s(T126), s(T128), X251) → U11_gaa(T126, T128, X251, leE_in_gaa(T126, T128, X251))
U11_gaa(T126, T128, X251, leE_out_gaa(T126, T128, X251)) → leE_out_gaa(s(T126), s(T128), X251)
U13_gaa(T101, T103, T104, leE_out_gaa(T101, T103, X225)) → minusF_out_gaa(s(T101), s(T103), T104)
minusF_in_gaa(s(T143), s(T144), 0) → U14_gaa(T143, T144, leE_in_gag(T143, T144, true))
leE_in_gag(0, T116, true) → leE_out_gag(0, T116, true)
leE_in_gag(s(T121), 0, false) → leE_out_gag(s(T121), 0, false)
leE_in_gag(s(T126), s(T128), X251) → U11_gag(T126, T128, X251, leE_in_gag(T126, T128, X251))
U11_gag(T126, T128, X251, leE_out_gag(T126, T128, X251)) → leE_out_gag(s(T126), s(T128), X251)
U14_gaa(T143, T144, leE_out_gag(T143, T144, true)) → minusF_out_gaa(s(T143), s(T144), 0)
minusF_in_gaa(s(T163), s(T155), s(T154)) → U15_gaa(T163, T155, T154, leE_in_gag(T163, T155, false))
U15_gaa(T163, T155, T154, leE_out_gag(T163, T155, false)) → U16_gaa(T163, T155, T154, minusF_in_gaa(T163, s(T155), T154))
U16_gaa(T163, T155, T154, minusF_out_gaa(T163, s(T155), T154)) → minusF_out_gaa(s(T163), s(T155), s(T154))

The argument filtering Pi contains the following mapping:
minusF_in_gaa(x1, x2, x3)  =  minusF_in_gaa(x1)
0  =  0
minusF_out_gaa(x1, x2, x3)  =  minusF_out_gaa
s(x1)  =  s(x1)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
minusC_in_ga(x1, x2)  =  minusC_in_ga(x1)
U5_ga(x1, x2, x3)  =  U5_ga(x3)
leD_in_ga(x1, x2)  =  leD_in_ga(x1)
leD_out_ga(x1, x2)  =  leD_out_ga(x2)
minusC_out_ga(x1, x2)  =  minusC_out_ga
U6_ga(x1, x2)  =  U6_ga(x2)
leD_in_gg(x1, x2)  =  leD_in_gg(x1, x2)
true  =  true
leD_out_gg(x1, x2)  =  leD_out_gg
false  =  false
U7_ga(x1, x2)  =  U7_ga(x2)
U8_ga(x1, x2)  =  U8_ga(x2)
minusA_in_a(x1)  =  minusA_in_a
U1_a(x1, x2)  =  U1_a(x2)
leB_in_a(x1)  =  leB_in_a
leB_out_a(x1)  =  leB_out_a(x1)
minusA_out_a(x1)  =  minusA_out_a
U2_a(x1)  =  U2_a(x1)
leB_in_g(x1)  =  leB_in_g(x1)
leB_out_g(x1)  =  leB_out_g
U3_a(x1, x2)  =  U3_a(x2)
U4_a(x1, x2)  =  U4_a(x2)
U9_ga(x1, x2, x3)  =  U9_ga(x1, x3)
U10_ga(x1, x2, x3)  =  U10_ga(x3)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
leE_in_gaa(x1, x2, x3)  =  leE_in_gaa(x1)
leE_out_gaa(x1, x2, x3)  =  leE_out_gaa(x3)
U11_gaa(x1, x2, x3, x4)  =  U11_gaa(x4)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
leE_in_gag(x1, x2, x3)  =  leE_in_gag(x1, x3)
leE_out_gag(x1, x2, x3)  =  leE_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)

(5) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

MINUSF_IN_GAA(s(T44), 0, s(T38)) → U12_GAA(T44, T38, minusC_in_ga(T44, T38))
MINUSF_IN_GAA(s(T44), 0, s(T38)) → MINUSC_IN_GA(T44, T38)
MINUSC_IN_GA(T52, T54) → U5_GA(T52, T54, leD_in_ga(T52, X81))
MINUSC_IN_GA(T52, T54) → LED_IN_GA(T52, X81)
MINUSC_IN_GA(T68, 0) → U6_GA(T68, leD_in_gg(T68, true))
MINUSC_IN_GA(T68, 0) → LED_IN_GG(T68, true)
MINUSC_IN_GA(0, s(T75)) → U7_GA(T75, leD_in_gg(0, false))
MINUSC_IN_GA(0, s(T75)) → LED_IN_GG(0, false)
U7_GA(T75, leD_out_gg(0, false)) → U8_GA(T75, minusA_in_a(T75))
U7_GA(T75, leD_out_gg(0, false)) → MINUSA_IN_A(T75)
MINUSA_IN_A(T82) → U1_A(T82, leB_in_a(X148))
MINUSA_IN_A(T82) → LEB_IN_A(X148)
MINUSA_IN_A(0) → U2_A(leB_in_g(true))
MINUSA_IN_A(0) → LEB_IN_G(true)
MINUSA_IN_A(s(T87)) → U3_A(T87, leB_in_g(false))
MINUSA_IN_A(s(T87)) → LEB_IN_G(false)
U3_A(T87, leB_out_g(false)) → U4_A(T87, minusA_in_a(T87))
U3_A(T87, leB_out_g(false)) → MINUSA_IN_A(T87)
MINUSC_IN_GA(s(T94), s(T75)) → U9_GA(T94, T75, leD_in_gg(s(T94), false))
MINUSC_IN_GA(s(T94), s(T75)) → LED_IN_GG(s(T94), false)
U9_GA(T94, T75, leD_out_gg(s(T94), false)) → U10_GA(T94, T75, minusC_in_ga(T94, T75))
U9_GA(T94, T75, leD_out_gg(s(T94), false)) → MINUSC_IN_GA(T94, T75)
MINUSF_IN_GAA(s(T101), s(T103), T104) → U13_GAA(T101, T103, T104, leE_in_gaa(T101, T103, X225))
MINUSF_IN_GAA(s(T101), s(T103), T104) → LEE_IN_GAA(T101, T103, X225)
LEE_IN_GAA(s(T126), s(T128), X251) → U11_GAA(T126, T128, X251, leE_in_gaa(T126, T128, X251))
LEE_IN_GAA(s(T126), s(T128), X251) → LEE_IN_GAA(T126, T128, X251)
MINUSF_IN_GAA(s(T143), s(T144), 0) → U14_GAA(T143, T144, leE_in_gag(T143, T144, true))
MINUSF_IN_GAA(s(T143), s(T144), 0) → LEE_IN_GAG(T143, T144, true)
LEE_IN_GAG(s(T126), s(T128), X251) → U11_GAG(T126, T128, X251, leE_in_gag(T126, T128, X251))
LEE_IN_GAG(s(T126), s(T128), X251) → LEE_IN_GAG(T126, T128, X251)
MINUSF_IN_GAA(s(T163), s(T155), s(T154)) → U15_GAA(T163, T155, T154, leE_in_gag(T163, T155, false))
MINUSF_IN_GAA(s(T163), s(T155), s(T154)) → LEE_IN_GAG(T163, T155, false)
U15_GAA(T163, T155, T154, leE_out_gag(T163, T155, false)) → U16_GAA(T163, T155, T154, minusF_in_gaa(T163, s(T155), T154))
U15_GAA(T163, T155, T154, leE_out_gag(T163, T155, false)) → MINUSF_IN_GAA(T163, s(T155), T154)

The TRS R consists of the following rules:

minusF_in_gaa(0, T25, 0) → minusF_out_gaa(0, T25, 0)
minusF_in_gaa(s(T44), 0, s(T38)) → U12_gaa(T44, T38, minusC_in_ga(T44, T38))
minusC_in_ga(T52, T54) → U5_ga(T52, T54, leD_in_ga(T52, X81))
leD_in_ga(0, true) → leD_out_ga(0, true)
leD_in_ga(s(T60), false) → leD_out_ga(s(T60), false)
U5_ga(T52, T54, leD_out_ga(T52, X81)) → minusC_out_ga(T52, T54)
minusC_in_ga(T68, 0) → U6_ga(T68, leD_in_gg(T68, true))
leD_in_gg(0, true) → leD_out_gg(0, true)
leD_in_gg(s(T60), false) → leD_out_gg(s(T60), false)
U6_ga(T68, leD_out_gg(T68, true)) → minusC_out_ga(T68, 0)
minusC_in_ga(0, s(T75)) → U7_ga(T75, leD_in_gg(0, false))
U7_ga(T75, leD_out_gg(0, false)) → U8_ga(T75, minusA_in_a(T75))
minusA_in_a(T82) → U1_a(T82, leB_in_a(X148))
leB_in_a(true) → leB_out_a(true)
U1_a(T82, leB_out_a(X148)) → minusA_out_a(T82)
minusA_in_a(0) → U2_a(leB_in_g(true))
leB_in_g(true) → leB_out_g(true)
U2_a(leB_out_g(true)) → minusA_out_a(0)
minusA_in_a(s(T87)) → U3_a(T87, leB_in_g(false))
U3_a(T87, leB_out_g(false)) → U4_a(T87, minusA_in_a(T87))
U4_a(T87, minusA_out_a(T87)) → minusA_out_a(s(T87))
U8_ga(T75, minusA_out_a(T75)) → minusC_out_ga(0, s(T75))
minusC_in_ga(s(T94), s(T75)) → U9_ga(T94, T75, leD_in_gg(s(T94), false))
U9_ga(T94, T75, leD_out_gg(s(T94), false)) → U10_ga(T94, T75, minusC_in_ga(T94, T75))
U10_ga(T94, T75, minusC_out_ga(T94, T75)) → minusC_out_ga(s(T94), s(T75))
U12_gaa(T44, T38, minusC_out_ga(T44, T38)) → minusF_out_gaa(s(T44), 0, s(T38))
minusF_in_gaa(s(T101), s(T103), T104) → U13_gaa(T101, T103, T104, leE_in_gaa(T101, T103, X225))
leE_in_gaa(0, T116, true) → leE_out_gaa(0, T116, true)
leE_in_gaa(s(T121), 0, false) → leE_out_gaa(s(T121), 0, false)
leE_in_gaa(s(T126), s(T128), X251) → U11_gaa(T126, T128, X251, leE_in_gaa(T126, T128, X251))
U11_gaa(T126, T128, X251, leE_out_gaa(T126, T128, X251)) → leE_out_gaa(s(T126), s(T128), X251)
U13_gaa(T101, T103, T104, leE_out_gaa(T101, T103, X225)) → minusF_out_gaa(s(T101), s(T103), T104)
minusF_in_gaa(s(T143), s(T144), 0) → U14_gaa(T143, T144, leE_in_gag(T143, T144, true))
leE_in_gag(0, T116, true) → leE_out_gag(0, T116, true)
leE_in_gag(s(T121), 0, false) → leE_out_gag(s(T121), 0, false)
leE_in_gag(s(T126), s(T128), X251) → U11_gag(T126, T128, X251, leE_in_gag(T126, T128, X251))
U11_gag(T126, T128, X251, leE_out_gag(T126, T128, X251)) → leE_out_gag(s(T126), s(T128), X251)
U14_gaa(T143, T144, leE_out_gag(T143, T144, true)) → minusF_out_gaa(s(T143), s(T144), 0)
minusF_in_gaa(s(T163), s(T155), s(T154)) → U15_gaa(T163, T155, T154, leE_in_gag(T163, T155, false))
U15_gaa(T163, T155, T154, leE_out_gag(T163, T155, false)) → U16_gaa(T163, T155, T154, minusF_in_gaa(T163, s(T155), T154))
U16_gaa(T163, T155, T154, minusF_out_gaa(T163, s(T155), T154)) → minusF_out_gaa(s(T163), s(T155), s(T154))

The argument filtering Pi contains the following mapping:
minusF_in_gaa(x1, x2, x3)  =  minusF_in_gaa(x1)
0  =  0
minusF_out_gaa(x1, x2, x3)  =  minusF_out_gaa
s(x1)  =  s(x1)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
minusC_in_ga(x1, x2)  =  minusC_in_ga(x1)
U5_ga(x1, x2, x3)  =  U5_ga(x3)
leD_in_ga(x1, x2)  =  leD_in_ga(x1)
leD_out_ga(x1, x2)  =  leD_out_ga(x2)
minusC_out_ga(x1, x2)  =  minusC_out_ga
U6_ga(x1, x2)  =  U6_ga(x2)
leD_in_gg(x1, x2)  =  leD_in_gg(x1, x2)
true  =  true
leD_out_gg(x1, x2)  =  leD_out_gg
false  =  false
U7_ga(x1, x2)  =  U7_ga(x2)
U8_ga(x1, x2)  =  U8_ga(x2)
minusA_in_a(x1)  =  minusA_in_a
U1_a(x1, x2)  =  U1_a(x2)
leB_in_a(x1)  =  leB_in_a
leB_out_a(x1)  =  leB_out_a(x1)
minusA_out_a(x1)  =  minusA_out_a
U2_a(x1)  =  U2_a(x1)
leB_in_g(x1)  =  leB_in_g(x1)
leB_out_g(x1)  =  leB_out_g
U3_a(x1, x2)  =  U3_a(x2)
U4_a(x1, x2)  =  U4_a(x2)
U9_ga(x1, x2, x3)  =  U9_ga(x1, x3)
U10_ga(x1, x2, x3)  =  U10_ga(x3)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
leE_in_gaa(x1, x2, x3)  =  leE_in_gaa(x1)
leE_out_gaa(x1, x2, x3)  =  leE_out_gaa(x3)
U11_gaa(x1, x2, x3, x4)  =  U11_gaa(x4)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
leE_in_gag(x1, x2, x3)  =  leE_in_gag(x1, x3)
leE_out_gag(x1, x2, x3)  =  leE_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
MINUSF_IN_GAA(x1, x2, x3)  =  MINUSF_IN_GAA(x1)
U12_GAA(x1, x2, x3)  =  U12_GAA(x3)
MINUSC_IN_GA(x1, x2)  =  MINUSC_IN_GA(x1)
U5_GA(x1, x2, x3)  =  U5_GA(x3)
LED_IN_GA(x1, x2)  =  LED_IN_GA(x1)
U6_GA(x1, x2)  =  U6_GA(x2)
LED_IN_GG(x1, x2)  =  LED_IN_GG(x1, x2)
U7_GA(x1, x2)  =  U7_GA(x2)
U8_GA(x1, x2)  =  U8_GA(x2)
MINUSA_IN_A(x1)  =  MINUSA_IN_A
U1_A(x1, x2)  =  U1_A(x2)
LEB_IN_A(x1)  =  LEB_IN_A
U2_A(x1)  =  U2_A(x1)
LEB_IN_G(x1)  =  LEB_IN_G(x1)
U3_A(x1, x2)  =  U3_A(x2)
U4_A(x1, x2)  =  U4_A(x2)
U9_GA(x1, x2, x3)  =  U9_GA(x1, x3)
U10_GA(x1, x2, x3)  =  U10_GA(x3)
U13_GAA(x1, x2, x3, x4)  =  U13_GAA(x4)
LEE_IN_GAA(x1, x2, x3)  =  LEE_IN_GAA(x1)
U11_GAA(x1, x2, x3, x4)  =  U11_GAA(x4)
U14_GAA(x1, x2, x3)  =  U14_GAA(x3)
LEE_IN_GAG(x1, x2, x3)  =  LEE_IN_GAG(x1, x3)
U11_GAG(x1, x2, x3, x4)  =  U11_GAG(x4)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x1, x4)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x4)

We have to consider all (P,R,Pi)-chains

(6) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MINUSF_IN_GAA(s(T44), 0, s(T38)) → U12_GAA(T44, T38, minusC_in_ga(T44, T38))
MINUSF_IN_GAA(s(T44), 0, s(T38)) → MINUSC_IN_GA(T44, T38)
MINUSC_IN_GA(T52, T54) → U5_GA(T52, T54, leD_in_ga(T52, X81))
MINUSC_IN_GA(T52, T54) → LED_IN_GA(T52, X81)
MINUSC_IN_GA(T68, 0) → U6_GA(T68, leD_in_gg(T68, true))
MINUSC_IN_GA(T68, 0) → LED_IN_GG(T68, true)
MINUSC_IN_GA(0, s(T75)) → U7_GA(T75, leD_in_gg(0, false))
MINUSC_IN_GA(0, s(T75)) → LED_IN_GG(0, false)
U7_GA(T75, leD_out_gg(0, false)) → U8_GA(T75, minusA_in_a(T75))
U7_GA(T75, leD_out_gg(0, false)) → MINUSA_IN_A(T75)
MINUSA_IN_A(T82) → U1_A(T82, leB_in_a(X148))
MINUSA_IN_A(T82) → LEB_IN_A(X148)
MINUSA_IN_A(0) → U2_A(leB_in_g(true))
MINUSA_IN_A(0) → LEB_IN_G(true)
MINUSA_IN_A(s(T87)) → U3_A(T87, leB_in_g(false))
MINUSA_IN_A(s(T87)) → LEB_IN_G(false)
U3_A(T87, leB_out_g(false)) → U4_A(T87, minusA_in_a(T87))
U3_A(T87, leB_out_g(false)) → MINUSA_IN_A(T87)
MINUSC_IN_GA(s(T94), s(T75)) → U9_GA(T94, T75, leD_in_gg(s(T94), false))
MINUSC_IN_GA(s(T94), s(T75)) → LED_IN_GG(s(T94), false)
U9_GA(T94, T75, leD_out_gg(s(T94), false)) → U10_GA(T94, T75, minusC_in_ga(T94, T75))
U9_GA(T94, T75, leD_out_gg(s(T94), false)) → MINUSC_IN_GA(T94, T75)
MINUSF_IN_GAA(s(T101), s(T103), T104) → U13_GAA(T101, T103, T104, leE_in_gaa(T101, T103, X225))
MINUSF_IN_GAA(s(T101), s(T103), T104) → LEE_IN_GAA(T101, T103, X225)
LEE_IN_GAA(s(T126), s(T128), X251) → U11_GAA(T126, T128, X251, leE_in_gaa(T126, T128, X251))
LEE_IN_GAA(s(T126), s(T128), X251) → LEE_IN_GAA(T126, T128, X251)
MINUSF_IN_GAA(s(T143), s(T144), 0) → U14_GAA(T143, T144, leE_in_gag(T143, T144, true))
MINUSF_IN_GAA(s(T143), s(T144), 0) → LEE_IN_GAG(T143, T144, true)
LEE_IN_GAG(s(T126), s(T128), X251) → U11_GAG(T126, T128, X251, leE_in_gag(T126, T128, X251))
LEE_IN_GAG(s(T126), s(T128), X251) → LEE_IN_GAG(T126, T128, X251)
MINUSF_IN_GAA(s(T163), s(T155), s(T154)) → U15_GAA(T163, T155, T154, leE_in_gag(T163, T155, false))
MINUSF_IN_GAA(s(T163), s(T155), s(T154)) → LEE_IN_GAG(T163, T155, false)
U15_GAA(T163, T155, T154, leE_out_gag(T163, T155, false)) → U16_GAA(T163, T155, T154, minusF_in_gaa(T163, s(T155), T154))
U15_GAA(T163, T155, T154, leE_out_gag(T163, T155, false)) → MINUSF_IN_GAA(T163, s(T155), T154)

The TRS R consists of the following rules:

minusF_in_gaa(0, T25, 0) → minusF_out_gaa(0, T25, 0)
minusF_in_gaa(s(T44), 0, s(T38)) → U12_gaa(T44, T38, minusC_in_ga(T44, T38))
minusC_in_ga(T52, T54) → U5_ga(T52, T54, leD_in_ga(T52, X81))
leD_in_ga(0, true) → leD_out_ga(0, true)
leD_in_ga(s(T60), false) → leD_out_ga(s(T60), false)
U5_ga(T52, T54, leD_out_ga(T52, X81)) → minusC_out_ga(T52, T54)
minusC_in_ga(T68, 0) → U6_ga(T68, leD_in_gg(T68, true))
leD_in_gg(0, true) → leD_out_gg(0, true)
leD_in_gg(s(T60), false) → leD_out_gg(s(T60), false)
U6_ga(T68, leD_out_gg(T68, true)) → minusC_out_ga(T68, 0)
minusC_in_ga(0, s(T75)) → U7_ga(T75, leD_in_gg(0, false))
U7_ga(T75, leD_out_gg(0, false)) → U8_ga(T75, minusA_in_a(T75))
minusA_in_a(T82) → U1_a(T82, leB_in_a(X148))
leB_in_a(true) → leB_out_a(true)
U1_a(T82, leB_out_a(X148)) → minusA_out_a(T82)
minusA_in_a(0) → U2_a(leB_in_g(true))
leB_in_g(true) → leB_out_g(true)
U2_a(leB_out_g(true)) → minusA_out_a(0)
minusA_in_a(s(T87)) → U3_a(T87, leB_in_g(false))
U3_a(T87, leB_out_g(false)) → U4_a(T87, minusA_in_a(T87))
U4_a(T87, minusA_out_a(T87)) → minusA_out_a(s(T87))
U8_ga(T75, minusA_out_a(T75)) → minusC_out_ga(0, s(T75))
minusC_in_ga(s(T94), s(T75)) → U9_ga(T94, T75, leD_in_gg(s(T94), false))
U9_ga(T94, T75, leD_out_gg(s(T94), false)) → U10_ga(T94, T75, minusC_in_ga(T94, T75))
U10_ga(T94, T75, minusC_out_ga(T94, T75)) → minusC_out_ga(s(T94), s(T75))
U12_gaa(T44, T38, minusC_out_ga(T44, T38)) → minusF_out_gaa(s(T44), 0, s(T38))
minusF_in_gaa(s(T101), s(T103), T104) → U13_gaa(T101, T103, T104, leE_in_gaa(T101, T103, X225))
leE_in_gaa(0, T116, true) → leE_out_gaa(0, T116, true)
leE_in_gaa(s(T121), 0, false) → leE_out_gaa(s(T121), 0, false)
leE_in_gaa(s(T126), s(T128), X251) → U11_gaa(T126, T128, X251, leE_in_gaa(T126, T128, X251))
U11_gaa(T126, T128, X251, leE_out_gaa(T126, T128, X251)) → leE_out_gaa(s(T126), s(T128), X251)
U13_gaa(T101, T103, T104, leE_out_gaa(T101, T103, X225)) → minusF_out_gaa(s(T101), s(T103), T104)
minusF_in_gaa(s(T143), s(T144), 0) → U14_gaa(T143, T144, leE_in_gag(T143, T144, true))
leE_in_gag(0, T116, true) → leE_out_gag(0, T116, true)
leE_in_gag(s(T121), 0, false) → leE_out_gag(s(T121), 0, false)
leE_in_gag(s(T126), s(T128), X251) → U11_gag(T126, T128, X251, leE_in_gag(T126, T128, X251))
U11_gag(T126, T128, X251, leE_out_gag(T126, T128, X251)) → leE_out_gag(s(T126), s(T128), X251)
U14_gaa(T143, T144, leE_out_gag(T143, T144, true)) → minusF_out_gaa(s(T143), s(T144), 0)
minusF_in_gaa(s(T163), s(T155), s(T154)) → U15_gaa(T163, T155, T154, leE_in_gag(T163, T155, false))
U15_gaa(T163, T155, T154, leE_out_gag(T163, T155, false)) → U16_gaa(T163, T155, T154, minusF_in_gaa(T163, s(T155), T154))
U16_gaa(T163, T155, T154, minusF_out_gaa(T163, s(T155), T154)) → minusF_out_gaa(s(T163), s(T155), s(T154))

The argument filtering Pi contains the following mapping:
minusF_in_gaa(x1, x2, x3)  =  minusF_in_gaa(x1)
0  =  0
minusF_out_gaa(x1, x2, x3)  =  minusF_out_gaa
s(x1)  =  s(x1)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
minusC_in_ga(x1, x2)  =  minusC_in_ga(x1)
U5_ga(x1, x2, x3)  =  U5_ga(x3)
leD_in_ga(x1, x2)  =  leD_in_ga(x1)
leD_out_ga(x1, x2)  =  leD_out_ga(x2)
minusC_out_ga(x1, x2)  =  minusC_out_ga
U6_ga(x1, x2)  =  U6_ga(x2)
leD_in_gg(x1, x2)  =  leD_in_gg(x1, x2)
true  =  true
leD_out_gg(x1, x2)  =  leD_out_gg
false  =  false
U7_ga(x1, x2)  =  U7_ga(x2)
U8_ga(x1, x2)  =  U8_ga(x2)
minusA_in_a(x1)  =  minusA_in_a
U1_a(x1, x2)  =  U1_a(x2)
leB_in_a(x1)  =  leB_in_a
leB_out_a(x1)  =  leB_out_a(x1)
minusA_out_a(x1)  =  minusA_out_a
U2_a(x1)  =  U2_a(x1)
leB_in_g(x1)  =  leB_in_g(x1)
leB_out_g(x1)  =  leB_out_g
U3_a(x1, x2)  =  U3_a(x2)
U4_a(x1, x2)  =  U4_a(x2)
U9_ga(x1, x2, x3)  =  U9_ga(x1, x3)
U10_ga(x1, x2, x3)  =  U10_ga(x3)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
leE_in_gaa(x1, x2, x3)  =  leE_in_gaa(x1)
leE_out_gaa(x1, x2, x3)  =  leE_out_gaa(x3)
U11_gaa(x1, x2, x3, x4)  =  U11_gaa(x4)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
leE_in_gag(x1, x2, x3)  =  leE_in_gag(x1, x3)
leE_out_gag(x1, x2, x3)  =  leE_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
MINUSF_IN_GAA(x1, x2, x3)  =  MINUSF_IN_GAA(x1)
U12_GAA(x1, x2, x3)  =  U12_GAA(x3)
MINUSC_IN_GA(x1, x2)  =  MINUSC_IN_GA(x1)
U5_GA(x1, x2, x3)  =  U5_GA(x3)
LED_IN_GA(x1, x2)  =  LED_IN_GA(x1)
U6_GA(x1, x2)  =  U6_GA(x2)
LED_IN_GG(x1, x2)  =  LED_IN_GG(x1, x2)
U7_GA(x1, x2)  =  U7_GA(x2)
U8_GA(x1, x2)  =  U8_GA(x2)
MINUSA_IN_A(x1)  =  MINUSA_IN_A
U1_A(x1, x2)  =  U1_A(x2)
LEB_IN_A(x1)  =  LEB_IN_A
U2_A(x1)  =  U2_A(x1)
LEB_IN_G(x1)  =  LEB_IN_G(x1)
U3_A(x1, x2)  =  U3_A(x2)
U4_A(x1, x2)  =  U4_A(x2)
U9_GA(x1, x2, x3)  =  U9_GA(x1, x3)
U10_GA(x1, x2, x3)  =  U10_GA(x3)
U13_GAA(x1, x2, x3, x4)  =  U13_GAA(x4)
LEE_IN_GAA(x1, x2, x3)  =  LEE_IN_GAA(x1)
U11_GAA(x1, x2, x3, x4)  =  U11_GAA(x4)
U14_GAA(x1, x2, x3)  =  U14_GAA(x3)
LEE_IN_GAG(x1, x2, x3)  =  LEE_IN_GAG(x1, x3)
U11_GAG(x1, x2, x3, x4)  =  U11_GAG(x4)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x1, x4)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x4)

We have to consider all (P,R,Pi)-chains

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 28 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LEE_IN_GAG(s(T126), s(T128), X251) → LEE_IN_GAG(T126, T128, X251)

The TRS R consists of the following rules:

minusF_in_gaa(0, T25, 0) → minusF_out_gaa(0, T25, 0)
minusF_in_gaa(s(T44), 0, s(T38)) → U12_gaa(T44, T38, minusC_in_ga(T44, T38))
minusC_in_ga(T52, T54) → U5_ga(T52, T54, leD_in_ga(T52, X81))
leD_in_ga(0, true) → leD_out_ga(0, true)
leD_in_ga(s(T60), false) → leD_out_ga(s(T60), false)
U5_ga(T52, T54, leD_out_ga(T52, X81)) → minusC_out_ga(T52, T54)
minusC_in_ga(T68, 0) → U6_ga(T68, leD_in_gg(T68, true))
leD_in_gg(0, true) → leD_out_gg(0, true)
leD_in_gg(s(T60), false) → leD_out_gg(s(T60), false)
U6_ga(T68, leD_out_gg(T68, true)) → minusC_out_ga(T68, 0)
minusC_in_ga(0, s(T75)) → U7_ga(T75, leD_in_gg(0, false))
U7_ga(T75, leD_out_gg(0, false)) → U8_ga(T75, minusA_in_a(T75))
minusA_in_a(T82) → U1_a(T82, leB_in_a(X148))
leB_in_a(true) → leB_out_a(true)
U1_a(T82, leB_out_a(X148)) → minusA_out_a(T82)
minusA_in_a(0) → U2_a(leB_in_g(true))
leB_in_g(true) → leB_out_g(true)
U2_a(leB_out_g(true)) → minusA_out_a(0)
minusA_in_a(s(T87)) → U3_a(T87, leB_in_g(false))
U3_a(T87, leB_out_g(false)) → U4_a(T87, minusA_in_a(T87))
U4_a(T87, minusA_out_a(T87)) → minusA_out_a(s(T87))
U8_ga(T75, minusA_out_a(T75)) → minusC_out_ga(0, s(T75))
minusC_in_ga(s(T94), s(T75)) → U9_ga(T94, T75, leD_in_gg(s(T94), false))
U9_ga(T94, T75, leD_out_gg(s(T94), false)) → U10_ga(T94, T75, minusC_in_ga(T94, T75))
U10_ga(T94, T75, minusC_out_ga(T94, T75)) → minusC_out_ga(s(T94), s(T75))
U12_gaa(T44, T38, minusC_out_ga(T44, T38)) → minusF_out_gaa(s(T44), 0, s(T38))
minusF_in_gaa(s(T101), s(T103), T104) → U13_gaa(T101, T103, T104, leE_in_gaa(T101, T103, X225))
leE_in_gaa(0, T116, true) → leE_out_gaa(0, T116, true)
leE_in_gaa(s(T121), 0, false) → leE_out_gaa(s(T121), 0, false)
leE_in_gaa(s(T126), s(T128), X251) → U11_gaa(T126, T128, X251, leE_in_gaa(T126, T128, X251))
U11_gaa(T126, T128, X251, leE_out_gaa(T126, T128, X251)) → leE_out_gaa(s(T126), s(T128), X251)
U13_gaa(T101, T103, T104, leE_out_gaa(T101, T103, X225)) → minusF_out_gaa(s(T101), s(T103), T104)
minusF_in_gaa(s(T143), s(T144), 0) → U14_gaa(T143, T144, leE_in_gag(T143, T144, true))
leE_in_gag(0, T116, true) → leE_out_gag(0, T116, true)
leE_in_gag(s(T121), 0, false) → leE_out_gag(s(T121), 0, false)
leE_in_gag(s(T126), s(T128), X251) → U11_gag(T126, T128, X251, leE_in_gag(T126, T128, X251))
U11_gag(T126, T128, X251, leE_out_gag(T126, T128, X251)) → leE_out_gag(s(T126), s(T128), X251)
U14_gaa(T143, T144, leE_out_gag(T143, T144, true)) → minusF_out_gaa(s(T143), s(T144), 0)
minusF_in_gaa(s(T163), s(T155), s(T154)) → U15_gaa(T163, T155, T154, leE_in_gag(T163, T155, false))
U15_gaa(T163, T155, T154, leE_out_gag(T163, T155, false)) → U16_gaa(T163, T155, T154, minusF_in_gaa(T163, s(T155), T154))
U16_gaa(T163, T155, T154, minusF_out_gaa(T163, s(T155), T154)) → minusF_out_gaa(s(T163), s(T155), s(T154))

The argument filtering Pi contains the following mapping:
minusF_in_gaa(x1, x2, x3)  =  minusF_in_gaa(x1)
0  =  0
minusF_out_gaa(x1, x2, x3)  =  minusF_out_gaa
s(x1)  =  s(x1)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
minusC_in_ga(x1, x2)  =  minusC_in_ga(x1)
U5_ga(x1, x2, x3)  =  U5_ga(x3)
leD_in_ga(x1, x2)  =  leD_in_ga(x1)
leD_out_ga(x1, x2)  =  leD_out_ga(x2)
minusC_out_ga(x1, x2)  =  minusC_out_ga
U6_ga(x1, x2)  =  U6_ga(x2)
leD_in_gg(x1, x2)  =  leD_in_gg(x1, x2)
true  =  true
leD_out_gg(x1, x2)  =  leD_out_gg
false  =  false
U7_ga(x1, x2)  =  U7_ga(x2)
U8_ga(x1, x2)  =  U8_ga(x2)
minusA_in_a(x1)  =  minusA_in_a
U1_a(x1, x2)  =  U1_a(x2)
leB_in_a(x1)  =  leB_in_a
leB_out_a(x1)  =  leB_out_a(x1)
minusA_out_a(x1)  =  minusA_out_a
U2_a(x1)  =  U2_a(x1)
leB_in_g(x1)  =  leB_in_g(x1)
leB_out_g(x1)  =  leB_out_g
U3_a(x1, x2)  =  U3_a(x2)
U4_a(x1, x2)  =  U4_a(x2)
U9_ga(x1, x2, x3)  =  U9_ga(x1, x3)
U10_ga(x1, x2, x3)  =  U10_ga(x3)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
leE_in_gaa(x1, x2, x3)  =  leE_in_gaa(x1)
leE_out_gaa(x1, x2, x3)  =  leE_out_gaa(x3)
U11_gaa(x1, x2, x3, x4)  =  U11_gaa(x4)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
leE_in_gag(x1, x2, x3)  =  leE_in_gag(x1, x3)
leE_out_gag(x1, x2, x3)  =  leE_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
LEE_IN_GAG(x1, x2, x3)  =  LEE_IN_GAG(x1, x3)

We have to consider all (P,R,Pi)-chains

(10) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(11) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LEE_IN_GAG(s(T126), s(T128), X251) → LEE_IN_GAG(T126, T128, X251)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
LEE_IN_GAG(x1, x2, x3)  =  LEE_IN_GAG(x1, x3)

We have to consider all (P,R,Pi)-chains

(12) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(13) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LEE_IN_GAG(s(T126), X251) → LEE_IN_GAG(T126, X251)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(14) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • LEE_IN_GAG(s(T126), X251) → LEE_IN_GAG(T126, X251)
    The graph contains the following edges 1 > 1, 2 >= 2

(15) YES

(16) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LEE_IN_GAA(s(T126), s(T128), X251) → LEE_IN_GAA(T126, T128, X251)

The TRS R consists of the following rules:

minusF_in_gaa(0, T25, 0) → minusF_out_gaa(0, T25, 0)
minusF_in_gaa(s(T44), 0, s(T38)) → U12_gaa(T44, T38, minusC_in_ga(T44, T38))
minusC_in_ga(T52, T54) → U5_ga(T52, T54, leD_in_ga(T52, X81))
leD_in_ga(0, true) → leD_out_ga(0, true)
leD_in_ga(s(T60), false) → leD_out_ga(s(T60), false)
U5_ga(T52, T54, leD_out_ga(T52, X81)) → minusC_out_ga(T52, T54)
minusC_in_ga(T68, 0) → U6_ga(T68, leD_in_gg(T68, true))
leD_in_gg(0, true) → leD_out_gg(0, true)
leD_in_gg(s(T60), false) → leD_out_gg(s(T60), false)
U6_ga(T68, leD_out_gg(T68, true)) → minusC_out_ga(T68, 0)
minusC_in_ga(0, s(T75)) → U7_ga(T75, leD_in_gg(0, false))
U7_ga(T75, leD_out_gg(0, false)) → U8_ga(T75, minusA_in_a(T75))
minusA_in_a(T82) → U1_a(T82, leB_in_a(X148))
leB_in_a(true) → leB_out_a(true)
U1_a(T82, leB_out_a(X148)) → minusA_out_a(T82)
minusA_in_a(0) → U2_a(leB_in_g(true))
leB_in_g(true) → leB_out_g(true)
U2_a(leB_out_g(true)) → minusA_out_a(0)
minusA_in_a(s(T87)) → U3_a(T87, leB_in_g(false))
U3_a(T87, leB_out_g(false)) → U4_a(T87, minusA_in_a(T87))
U4_a(T87, minusA_out_a(T87)) → minusA_out_a(s(T87))
U8_ga(T75, minusA_out_a(T75)) → minusC_out_ga(0, s(T75))
minusC_in_ga(s(T94), s(T75)) → U9_ga(T94, T75, leD_in_gg(s(T94), false))
U9_ga(T94, T75, leD_out_gg(s(T94), false)) → U10_ga(T94, T75, minusC_in_ga(T94, T75))
U10_ga(T94, T75, minusC_out_ga(T94, T75)) → minusC_out_ga(s(T94), s(T75))
U12_gaa(T44, T38, minusC_out_ga(T44, T38)) → minusF_out_gaa(s(T44), 0, s(T38))
minusF_in_gaa(s(T101), s(T103), T104) → U13_gaa(T101, T103, T104, leE_in_gaa(T101, T103, X225))
leE_in_gaa(0, T116, true) → leE_out_gaa(0, T116, true)
leE_in_gaa(s(T121), 0, false) → leE_out_gaa(s(T121), 0, false)
leE_in_gaa(s(T126), s(T128), X251) → U11_gaa(T126, T128, X251, leE_in_gaa(T126, T128, X251))
U11_gaa(T126, T128, X251, leE_out_gaa(T126, T128, X251)) → leE_out_gaa(s(T126), s(T128), X251)
U13_gaa(T101, T103, T104, leE_out_gaa(T101, T103, X225)) → minusF_out_gaa(s(T101), s(T103), T104)
minusF_in_gaa(s(T143), s(T144), 0) → U14_gaa(T143, T144, leE_in_gag(T143, T144, true))
leE_in_gag(0, T116, true) → leE_out_gag(0, T116, true)
leE_in_gag(s(T121), 0, false) → leE_out_gag(s(T121), 0, false)
leE_in_gag(s(T126), s(T128), X251) → U11_gag(T126, T128, X251, leE_in_gag(T126, T128, X251))
U11_gag(T126, T128, X251, leE_out_gag(T126, T128, X251)) → leE_out_gag(s(T126), s(T128), X251)
U14_gaa(T143, T144, leE_out_gag(T143, T144, true)) → minusF_out_gaa(s(T143), s(T144), 0)
minusF_in_gaa(s(T163), s(T155), s(T154)) → U15_gaa(T163, T155, T154, leE_in_gag(T163, T155, false))
U15_gaa(T163, T155, T154, leE_out_gag(T163, T155, false)) → U16_gaa(T163, T155, T154, minusF_in_gaa(T163, s(T155), T154))
U16_gaa(T163, T155, T154, minusF_out_gaa(T163, s(T155), T154)) → minusF_out_gaa(s(T163), s(T155), s(T154))

The argument filtering Pi contains the following mapping:
minusF_in_gaa(x1, x2, x3)  =  minusF_in_gaa(x1)
0  =  0
minusF_out_gaa(x1, x2, x3)  =  minusF_out_gaa
s(x1)  =  s(x1)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
minusC_in_ga(x1, x2)  =  minusC_in_ga(x1)
U5_ga(x1, x2, x3)  =  U5_ga(x3)
leD_in_ga(x1, x2)  =  leD_in_ga(x1)
leD_out_ga(x1, x2)  =  leD_out_ga(x2)
minusC_out_ga(x1, x2)  =  minusC_out_ga
U6_ga(x1, x2)  =  U6_ga(x2)
leD_in_gg(x1, x2)  =  leD_in_gg(x1, x2)
true  =  true
leD_out_gg(x1, x2)  =  leD_out_gg
false  =  false
U7_ga(x1, x2)  =  U7_ga(x2)
U8_ga(x1, x2)  =  U8_ga(x2)
minusA_in_a(x1)  =  minusA_in_a
U1_a(x1, x2)  =  U1_a(x2)
leB_in_a(x1)  =  leB_in_a
leB_out_a(x1)  =  leB_out_a(x1)
minusA_out_a(x1)  =  minusA_out_a
U2_a(x1)  =  U2_a(x1)
leB_in_g(x1)  =  leB_in_g(x1)
leB_out_g(x1)  =  leB_out_g
U3_a(x1, x2)  =  U3_a(x2)
U4_a(x1, x2)  =  U4_a(x2)
U9_ga(x1, x2, x3)  =  U9_ga(x1, x3)
U10_ga(x1, x2, x3)  =  U10_ga(x3)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
leE_in_gaa(x1, x2, x3)  =  leE_in_gaa(x1)
leE_out_gaa(x1, x2, x3)  =  leE_out_gaa(x3)
U11_gaa(x1, x2, x3, x4)  =  U11_gaa(x4)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
leE_in_gag(x1, x2, x3)  =  leE_in_gag(x1, x3)
leE_out_gag(x1, x2, x3)  =  leE_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
LEE_IN_GAA(x1, x2, x3)  =  LEE_IN_GAA(x1)

We have to consider all (P,R,Pi)-chains

(17) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(18) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LEE_IN_GAA(s(T126), s(T128), X251) → LEE_IN_GAA(T126, T128, X251)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
LEE_IN_GAA(x1, x2, x3)  =  LEE_IN_GAA(x1)

We have to consider all (P,R,Pi)-chains

(19) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(20) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LEE_IN_GAA(s(T126)) → LEE_IN_GAA(T126)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(21) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • LEE_IN_GAA(s(T126)) → LEE_IN_GAA(T126)
    The graph contains the following edges 1 > 1

(22) YES

(23) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MINUSF_IN_GAA(s(T163), s(T155), s(T154)) → U15_GAA(T163, T155, T154, leE_in_gag(T163, T155, false))
U15_GAA(T163, T155, T154, leE_out_gag(T163, T155, false)) → MINUSF_IN_GAA(T163, s(T155), T154)

The TRS R consists of the following rules:

minusF_in_gaa(0, T25, 0) → minusF_out_gaa(0, T25, 0)
minusF_in_gaa(s(T44), 0, s(T38)) → U12_gaa(T44, T38, minusC_in_ga(T44, T38))
minusC_in_ga(T52, T54) → U5_ga(T52, T54, leD_in_ga(T52, X81))
leD_in_ga(0, true) → leD_out_ga(0, true)
leD_in_ga(s(T60), false) → leD_out_ga(s(T60), false)
U5_ga(T52, T54, leD_out_ga(T52, X81)) → minusC_out_ga(T52, T54)
minusC_in_ga(T68, 0) → U6_ga(T68, leD_in_gg(T68, true))
leD_in_gg(0, true) → leD_out_gg(0, true)
leD_in_gg(s(T60), false) → leD_out_gg(s(T60), false)
U6_ga(T68, leD_out_gg(T68, true)) → minusC_out_ga(T68, 0)
minusC_in_ga(0, s(T75)) → U7_ga(T75, leD_in_gg(0, false))
U7_ga(T75, leD_out_gg(0, false)) → U8_ga(T75, minusA_in_a(T75))
minusA_in_a(T82) → U1_a(T82, leB_in_a(X148))
leB_in_a(true) → leB_out_a(true)
U1_a(T82, leB_out_a(X148)) → minusA_out_a(T82)
minusA_in_a(0) → U2_a(leB_in_g(true))
leB_in_g(true) → leB_out_g(true)
U2_a(leB_out_g(true)) → minusA_out_a(0)
minusA_in_a(s(T87)) → U3_a(T87, leB_in_g(false))
U3_a(T87, leB_out_g(false)) → U4_a(T87, minusA_in_a(T87))
U4_a(T87, minusA_out_a(T87)) → minusA_out_a(s(T87))
U8_ga(T75, minusA_out_a(T75)) → minusC_out_ga(0, s(T75))
minusC_in_ga(s(T94), s(T75)) → U9_ga(T94, T75, leD_in_gg(s(T94), false))
U9_ga(T94, T75, leD_out_gg(s(T94), false)) → U10_ga(T94, T75, minusC_in_ga(T94, T75))
U10_ga(T94, T75, minusC_out_ga(T94, T75)) → minusC_out_ga(s(T94), s(T75))
U12_gaa(T44, T38, minusC_out_ga(T44, T38)) → minusF_out_gaa(s(T44), 0, s(T38))
minusF_in_gaa(s(T101), s(T103), T104) → U13_gaa(T101, T103, T104, leE_in_gaa(T101, T103, X225))
leE_in_gaa(0, T116, true) → leE_out_gaa(0, T116, true)
leE_in_gaa(s(T121), 0, false) → leE_out_gaa(s(T121), 0, false)
leE_in_gaa(s(T126), s(T128), X251) → U11_gaa(T126, T128, X251, leE_in_gaa(T126, T128, X251))
U11_gaa(T126, T128, X251, leE_out_gaa(T126, T128, X251)) → leE_out_gaa(s(T126), s(T128), X251)
U13_gaa(T101, T103, T104, leE_out_gaa(T101, T103, X225)) → minusF_out_gaa(s(T101), s(T103), T104)
minusF_in_gaa(s(T143), s(T144), 0) → U14_gaa(T143, T144, leE_in_gag(T143, T144, true))
leE_in_gag(0, T116, true) → leE_out_gag(0, T116, true)
leE_in_gag(s(T121), 0, false) → leE_out_gag(s(T121), 0, false)
leE_in_gag(s(T126), s(T128), X251) → U11_gag(T126, T128, X251, leE_in_gag(T126, T128, X251))
U11_gag(T126, T128, X251, leE_out_gag(T126, T128, X251)) → leE_out_gag(s(T126), s(T128), X251)
U14_gaa(T143, T144, leE_out_gag(T143, T144, true)) → minusF_out_gaa(s(T143), s(T144), 0)
minusF_in_gaa(s(T163), s(T155), s(T154)) → U15_gaa(T163, T155, T154, leE_in_gag(T163, T155, false))
U15_gaa(T163, T155, T154, leE_out_gag(T163, T155, false)) → U16_gaa(T163, T155, T154, minusF_in_gaa(T163, s(T155), T154))
U16_gaa(T163, T155, T154, minusF_out_gaa(T163, s(T155), T154)) → minusF_out_gaa(s(T163), s(T155), s(T154))

The argument filtering Pi contains the following mapping:
minusF_in_gaa(x1, x2, x3)  =  minusF_in_gaa(x1)
0  =  0
minusF_out_gaa(x1, x2, x3)  =  minusF_out_gaa
s(x1)  =  s(x1)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
minusC_in_ga(x1, x2)  =  minusC_in_ga(x1)
U5_ga(x1, x2, x3)  =  U5_ga(x3)
leD_in_ga(x1, x2)  =  leD_in_ga(x1)
leD_out_ga(x1, x2)  =  leD_out_ga(x2)
minusC_out_ga(x1, x2)  =  minusC_out_ga
U6_ga(x1, x2)  =  U6_ga(x2)
leD_in_gg(x1, x2)  =  leD_in_gg(x1, x2)
true  =  true
leD_out_gg(x1, x2)  =  leD_out_gg
false  =  false
U7_ga(x1, x2)  =  U7_ga(x2)
U8_ga(x1, x2)  =  U8_ga(x2)
minusA_in_a(x1)  =  minusA_in_a
U1_a(x1, x2)  =  U1_a(x2)
leB_in_a(x1)  =  leB_in_a
leB_out_a(x1)  =  leB_out_a(x1)
minusA_out_a(x1)  =  minusA_out_a
U2_a(x1)  =  U2_a(x1)
leB_in_g(x1)  =  leB_in_g(x1)
leB_out_g(x1)  =  leB_out_g
U3_a(x1, x2)  =  U3_a(x2)
U4_a(x1, x2)  =  U4_a(x2)
U9_ga(x1, x2, x3)  =  U9_ga(x1, x3)
U10_ga(x1, x2, x3)  =  U10_ga(x3)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
leE_in_gaa(x1, x2, x3)  =  leE_in_gaa(x1)
leE_out_gaa(x1, x2, x3)  =  leE_out_gaa(x3)
U11_gaa(x1, x2, x3, x4)  =  U11_gaa(x4)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
leE_in_gag(x1, x2, x3)  =  leE_in_gag(x1, x3)
leE_out_gag(x1, x2, x3)  =  leE_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
MINUSF_IN_GAA(x1, x2, x3)  =  MINUSF_IN_GAA(x1)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x1, x4)

We have to consider all (P,R,Pi)-chains

(24) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(25) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MINUSF_IN_GAA(s(T163), s(T155), s(T154)) → U15_GAA(T163, T155, T154, leE_in_gag(T163, T155, false))
U15_GAA(T163, T155, T154, leE_out_gag(T163, T155, false)) → MINUSF_IN_GAA(T163, s(T155), T154)

The TRS R consists of the following rules:

leE_in_gag(s(T121), 0, false) → leE_out_gag(s(T121), 0, false)
leE_in_gag(s(T126), s(T128), X251) → U11_gag(T126, T128, X251, leE_in_gag(T126, T128, X251))
U11_gag(T126, T128, X251, leE_out_gag(T126, T128, X251)) → leE_out_gag(s(T126), s(T128), X251)
leE_in_gag(0, T116, true) → leE_out_gag(0, T116, true)

The argument filtering Pi contains the following mapping:
0  =  0
s(x1)  =  s(x1)
true  =  true
false  =  false
leE_in_gag(x1, x2, x3)  =  leE_in_gag(x1, x3)
leE_out_gag(x1, x2, x3)  =  leE_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
MINUSF_IN_GAA(x1, x2, x3)  =  MINUSF_IN_GAA(x1)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x1, x4)

We have to consider all (P,R,Pi)-chains

(26) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(27) Obligation:

Q DP problem:
The TRS P consists of the following rules:

MINUSF_IN_GAA(s(T163)) → U15_GAA(T163, leE_in_gag(T163, false))
U15_GAA(T163, leE_out_gag) → MINUSF_IN_GAA(T163)

The TRS R consists of the following rules:

leE_in_gag(s(T121), false) → leE_out_gag
leE_in_gag(s(T126), X251) → U11_gag(leE_in_gag(T126, X251))
U11_gag(leE_out_gag) → leE_out_gag
leE_in_gag(0, true) → leE_out_gag

The set Q consists of the following terms:

leE_in_gag(x0, x1)
U11_gag(x0)

We have to consider all (P,Q,R)-chains.

(28) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • U15_GAA(T163, leE_out_gag) → MINUSF_IN_GAA(T163)
    The graph contains the following edges 1 >= 1

  • MINUSF_IN_GAA(s(T163)) → U15_GAA(T163, leE_in_gag(T163, false))
    The graph contains the following edges 1 > 1

(29) YES

(30) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MINUSC_IN_GA(s(T94), s(T75)) → U9_GA(T94, T75, leD_in_gg(s(T94), false))
U9_GA(T94, T75, leD_out_gg(s(T94), false)) → MINUSC_IN_GA(T94, T75)

The TRS R consists of the following rules:

minusF_in_gaa(0, T25, 0) → minusF_out_gaa(0, T25, 0)
minusF_in_gaa(s(T44), 0, s(T38)) → U12_gaa(T44, T38, minusC_in_ga(T44, T38))
minusC_in_ga(T52, T54) → U5_ga(T52, T54, leD_in_ga(T52, X81))
leD_in_ga(0, true) → leD_out_ga(0, true)
leD_in_ga(s(T60), false) → leD_out_ga(s(T60), false)
U5_ga(T52, T54, leD_out_ga(T52, X81)) → minusC_out_ga(T52, T54)
minusC_in_ga(T68, 0) → U6_ga(T68, leD_in_gg(T68, true))
leD_in_gg(0, true) → leD_out_gg(0, true)
leD_in_gg(s(T60), false) → leD_out_gg(s(T60), false)
U6_ga(T68, leD_out_gg(T68, true)) → minusC_out_ga(T68, 0)
minusC_in_ga(0, s(T75)) → U7_ga(T75, leD_in_gg(0, false))
U7_ga(T75, leD_out_gg(0, false)) → U8_ga(T75, minusA_in_a(T75))
minusA_in_a(T82) → U1_a(T82, leB_in_a(X148))
leB_in_a(true) → leB_out_a(true)
U1_a(T82, leB_out_a(X148)) → minusA_out_a(T82)
minusA_in_a(0) → U2_a(leB_in_g(true))
leB_in_g(true) → leB_out_g(true)
U2_a(leB_out_g(true)) → minusA_out_a(0)
minusA_in_a(s(T87)) → U3_a(T87, leB_in_g(false))
U3_a(T87, leB_out_g(false)) → U4_a(T87, minusA_in_a(T87))
U4_a(T87, minusA_out_a(T87)) → minusA_out_a(s(T87))
U8_ga(T75, minusA_out_a(T75)) → minusC_out_ga(0, s(T75))
minusC_in_ga(s(T94), s(T75)) → U9_ga(T94, T75, leD_in_gg(s(T94), false))
U9_ga(T94, T75, leD_out_gg(s(T94), false)) → U10_ga(T94, T75, minusC_in_ga(T94, T75))
U10_ga(T94, T75, minusC_out_ga(T94, T75)) → minusC_out_ga(s(T94), s(T75))
U12_gaa(T44, T38, minusC_out_ga(T44, T38)) → minusF_out_gaa(s(T44), 0, s(T38))
minusF_in_gaa(s(T101), s(T103), T104) → U13_gaa(T101, T103, T104, leE_in_gaa(T101, T103, X225))
leE_in_gaa(0, T116, true) → leE_out_gaa(0, T116, true)
leE_in_gaa(s(T121), 0, false) → leE_out_gaa(s(T121), 0, false)
leE_in_gaa(s(T126), s(T128), X251) → U11_gaa(T126, T128, X251, leE_in_gaa(T126, T128, X251))
U11_gaa(T126, T128, X251, leE_out_gaa(T126, T128, X251)) → leE_out_gaa(s(T126), s(T128), X251)
U13_gaa(T101, T103, T104, leE_out_gaa(T101, T103, X225)) → minusF_out_gaa(s(T101), s(T103), T104)
minusF_in_gaa(s(T143), s(T144), 0) → U14_gaa(T143, T144, leE_in_gag(T143, T144, true))
leE_in_gag(0, T116, true) → leE_out_gag(0, T116, true)
leE_in_gag(s(T121), 0, false) → leE_out_gag(s(T121), 0, false)
leE_in_gag(s(T126), s(T128), X251) → U11_gag(T126, T128, X251, leE_in_gag(T126, T128, X251))
U11_gag(T126, T128, X251, leE_out_gag(T126, T128, X251)) → leE_out_gag(s(T126), s(T128), X251)
U14_gaa(T143, T144, leE_out_gag(T143, T144, true)) → minusF_out_gaa(s(T143), s(T144), 0)
minusF_in_gaa(s(T163), s(T155), s(T154)) → U15_gaa(T163, T155, T154, leE_in_gag(T163, T155, false))
U15_gaa(T163, T155, T154, leE_out_gag(T163, T155, false)) → U16_gaa(T163, T155, T154, minusF_in_gaa(T163, s(T155), T154))
U16_gaa(T163, T155, T154, minusF_out_gaa(T163, s(T155), T154)) → minusF_out_gaa(s(T163), s(T155), s(T154))

The argument filtering Pi contains the following mapping:
minusF_in_gaa(x1, x2, x3)  =  minusF_in_gaa(x1)
0  =  0
minusF_out_gaa(x1, x2, x3)  =  minusF_out_gaa
s(x1)  =  s(x1)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
minusC_in_ga(x1, x2)  =  minusC_in_ga(x1)
U5_ga(x1, x2, x3)  =  U5_ga(x3)
leD_in_ga(x1, x2)  =  leD_in_ga(x1)
leD_out_ga(x1, x2)  =  leD_out_ga(x2)
minusC_out_ga(x1, x2)  =  minusC_out_ga
U6_ga(x1, x2)  =  U6_ga(x2)
leD_in_gg(x1, x2)  =  leD_in_gg(x1, x2)
true  =  true
leD_out_gg(x1, x2)  =  leD_out_gg
false  =  false
U7_ga(x1, x2)  =  U7_ga(x2)
U8_ga(x1, x2)  =  U8_ga(x2)
minusA_in_a(x1)  =  minusA_in_a
U1_a(x1, x2)  =  U1_a(x2)
leB_in_a(x1)  =  leB_in_a
leB_out_a(x1)  =  leB_out_a(x1)
minusA_out_a(x1)  =  minusA_out_a
U2_a(x1)  =  U2_a(x1)
leB_in_g(x1)  =  leB_in_g(x1)
leB_out_g(x1)  =  leB_out_g
U3_a(x1, x2)  =  U3_a(x2)
U4_a(x1, x2)  =  U4_a(x2)
U9_ga(x1, x2, x3)  =  U9_ga(x1, x3)
U10_ga(x1, x2, x3)  =  U10_ga(x3)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
leE_in_gaa(x1, x2, x3)  =  leE_in_gaa(x1)
leE_out_gaa(x1, x2, x3)  =  leE_out_gaa(x3)
U11_gaa(x1, x2, x3, x4)  =  U11_gaa(x4)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
leE_in_gag(x1, x2, x3)  =  leE_in_gag(x1, x3)
leE_out_gag(x1, x2, x3)  =  leE_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
MINUSC_IN_GA(x1, x2)  =  MINUSC_IN_GA(x1)
U9_GA(x1, x2, x3)  =  U9_GA(x1, x3)

We have to consider all (P,R,Pi)-chains

(31) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(32) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MINUSC_IN_GA(s(T94), s(T75)) → U9_GA(T94, T75, leD_in_gg(s(T94), false))
U9_GA(T94, T75, leD_out_gg(s(T94), false)) → MINUSC_IN_GA(T94, T75)

The TRS R consists of the following rules:

leD_in_gg(s(T60), false) → leD_out_gg(s(T60), false)

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
leD_in_gg(x1, x2)  =  leD_in_gg(x1, x2)
leD_out_gg(x1, x2)  =  leD_out_gg
false  =  false
MINUSC_IN_GA(x1, x2)  =  MINUSC_IN_GA(x1)
U9_GA(x1, x2, x3)  =  U9_GA(x1, x3)

We have to consider all (P,R,Pi)-chains

(33) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(34) Obligation:

Q DP problem:
The TRS P consists of the following rules:

MINUSC_IN_GA(s(T94)) → U9_GA(T94, leD_in_gg(s(T94), false))
U9_GA(T94, leD_out_gg) → MINUSC_IN_GA(T94)

The TRS R consists of the following rules:

leD_in_gg(s(T60), false) → leD_out_gg

The set Q consists of the following terms:

leD_in_gg(x0, x1)

We have to consider all (P,Q,R)-chains.

(35) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • U9_GA(T94, leD_out_gg) → MINUSC_IN_GA(T94)
    The graph contains the following edges 1 >= 1

  • MINUSC_IN_GA(s(T94)) → U9_GA(T94, leD_in_gg(s(T94), false))
    The graph contains the following edges 1 > 1

(36) YES